/**
 * 
 */
package br.com.dao;

import java.util.List;

import javax.persistence.criteria.Order;

/**
 * @author Joelson
 *
 */
public interface IGenericDAO<T> {

	public void adicionar(T t);

	public void remover(T t);

	public void atualizar(T t);

	public List<T> listaTodos();

	public T buscarPorId(Long id);

	public List<?> buscarTodosOrdenados(Order... ordenacoes);

	public List<?> buscarTodos(Integer indiceInicial, Integer indiceFinal, Order... ordenacoes);

	public String adicionaOrderByHql(Order... ordenacoes);

}
